package com.wande.dataplatform.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wande.common.tenant.core.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 数据模型对象 dp_data_model
 *
 * @author ruoyi
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dp_data_model")
public class DataModel extends TenantEntity {

    /**
     * 模型ID
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 模型名称
     */
    private String name;

    /**
     * 表名
     */
    private String tableName;

    /**
     * 表类型: DUPLICATE, AGGREGATE, UNIQUE
     */
    private String tableType;

    /**
     * 分区类型: RANGE, LIST
     */
    private String partitionType;

    /**
     * 分区字段
     */
    private String partitionColumn;

    /**
     * 分桶字段
     */
    private String bucketColumn;

    /**
     * 分桶数量
     */
    private Integer bucketNum;

    /**
     * 字段定义(JSON)
     */
    private String fields;

    /**
     * 描述
     */
    private String description;

    /**
     * 版本号
     */
    private Integer version;

    /**
     * Doris数据库名
     */
    private String dorisDatabase;

    /**
     * Doris表名
     */
    private String dorisTable;

    /**
     * 同步状态: 0-未同步, 1-已同步, 2-同步失败
     */
    private Integer syncStatus;

    /**
     * 同步信息
     */
    private String syncMessage;

    /**
     * 状态(0-禁用 1-启用)
     */
    private Integer status;

    /**
     * 项目ID
     */
    private Long projectId;

    /**
     * 备注
     */
    private String remark;

}
